package List;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

/**
 * User: 86156
 * Date: 2023-04-17
 * Time: 11:31
 */
public class ListDemo2 {
    public static void main(String[] args) {
          /*
            List系列集合的五种遍历方式：
                1.迭代器
                2.列表迭代器
                3.增强for
                4.Lambda表达式
                5.普通for循环
         */

        //创建集合并添加元素
        List<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");

        // 迭代器遍历
     /*   Iterator<String> it = list.iterator();
        while(it.hasNext()){
            String s = it.next();
            System.out.println(s);
        }
*/

        // 增强for遍历
        for(String s: list){
            System.out.println(s);
        }

        // Lambda 表达式遍历
        list.forEach(s-> System.out.println(s));


        // 列表迭代器
        // 获取一个列表迭代器的对象,里面的指针也是默认指向0索引处的
        // 额外添加了一个方法,在便利的时候,可以添加元素
        ListIterator<String> it = list.listIterator();
        while(it.hasNext()){
            String str = it.next();
            if("bbb".equals(str)){
                // 迭代器本身的方法去添加
                it.add("qqq");
            }
        }
    }
}